<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Linux网络限速与流量控制技术指南</title>
    <link href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            color: #333;
            line-height: 1.7;
            background-color: #f8fafc;
        }
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Noto Serif SC', serif;
            font-weight: 600;
            color: #1e293b;
            margin-top: 1.5em;
            margin-bottom: 0.5em;
        }
        .hero {
            background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
            color: white;
        }
        .card {
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .card:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }
        .feature-icon {
            color: #3b82f6;
            font-size: 2rem;
            margin-bottom: 1rem;
        }
        .highlight {
            background-color: rgba(59, 130, 246, 0.1);
            border-left: 4px solid #3b82f6;
            padding: 1rem;
            margin: 1rem 0;
        }
        .qdisc-card {
            border-top: 4px solid #3b82f6;
        }
        .footer {
            background-color: #1e293b;
            color: #f8fafc;
        }
    </style>
</head>
<body>
    <!-- Hero Section -->
    <section class="hero py-20 px-4 md:px-0">
        <div class="container mx-auto max-w-5xl text-center">
            <h1 class="text-4xl md:text-5xl font-bold mb-6">Linux网络限速与流量控制技术指南</h1>
            <p class="text-xl md:text-2xl opacity-90 mb-8">掌握TC工具，实现精准流量管理，保障关键业务网络性能</p>
            <div class="flex justify-center space-x-4">
                <a href="#intro" class="bg-white text-blue-600 px-6 py-3 rounded-lg font-medium hover:bg-gray-100 transition">开始阅读</a>
                <a href="#toc" class="border border-white text-white px-6 py-3 rounded-lg font-medium hover:bg-white hover:text-blue-600 transition">目录导航</a>
            </div>
        </div>
    </section>

    <!-- Table of Contents -->
    <section id="toc" class="py-16 px-4 md:px-0 bg-white">
        <div class="container mx-auto max-w-5xl">
            <h2 class="text-3xl font-bold mb-8 text-center">文章目录</h2>
            <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                <div class="bg-gray-50 p-6 rounded-xl">
                    <h3 class="text-xl font-semibold mb-4 flex items-center"><i class="fas fa-network-wired mr-3"></i>基础概念</h3>
                    <ul class="space-y-2">
                        <li><a href="#intro" class="text-blue-600 hover:underline">网络限速与流量控制概述</a></li>
                        <li><a href="#why" class="text-blue-600 hover:underline">流量管理的必要性</a></li>
                        <li><a href="#concepts" class="text-blue-600 hover:underline">核心概念解析</a></li>
                    </ul>
                </div>
                <div class="bg-gray-50 p-6 rounded-xl">
                    <h3 class="text-xl font-semibold mb-4 flex items-center"><i class="fas fa-tools mr-3"></i>技术实现</h3>
                    <ul class="space-y-2">
                        <li><a href="#tc" class="text-blue-600 hover:underline">TC工具详解</a></li>
                        <li><a href="#qdisc" class="text-blue-600 hover:underline">Qdisc类型及应用</a></li>
                        <li><a href="#shaping" class="text-blue-600 hover:underline">流量整形实现</a></li>
                        <li><a href="#strategies" class="text-blue-600 hover:underline">流量控制策略</a></li>
                    </ul>
                </div>
            </div>
        </div>
    </section>

    <!-- Main Content -->
    <main class="container mx-auto max-w-5xl py-12 px-4 md:px-0">
        <!-- Introduction -->
        <section id="intro" class="mb-20">
            <h2 class="text-3xl font-bold mb-6">在Linux中实现网络限速和流量控制</h2>
            <div class="rounded-xl overflow-hidden mb-8">
                <img src="https://cdn.nlark.com/yuque/0/2024/png/21449790/1728539972694-a57af0d1-3f1c-40b3-9d95-c84b1551f2c2.png" alt="Linux网络流量控制" class="w-full h-auto">
            </div>
            <p class="text-lg mb-6">在现代高并发的分布式系统中，网络的稳定性和效率对系统的整体性能至关重要。特别是在面对大量用户请求时，如何有效管理带宽分配、限制某些类型的流量、保障关键业务的网络通道成为了架构设计中的重要问题。</p>
            <div class="highlight">
                <p>你会经常遇到系统流量过载的情况，尤其是在处理高流量业务时。如果不对网络进行适当的限速和控制，一些低优先级的流量可能会占用宝贵的带宽资源，导致关键服务延迟或中断。</p>
            </div>
            <p class="mb-6">因此，在Linux系统中实现网络限速和流量控制，能有效帮助我们平衡不同服务的带宽使用，避免网络过载，提升系统的可用性和稳定性。Linux提供了强大的网络管理工具，其中最重要的就是 <code class="bg-gray-100 px-2 py-1 rounded">tc</code>（Traffic Control），它允许我们灵活定义不同的流量控制策略，比如根据服务优先级划分带宽、对特定网络接口设置上传或下载速率的上限等。</p>
            
            <div class="mermaid my-8">
                graph TD
                    A[网络流量管理] --> B[流量分类]
                    A --> C[流量整形]
                    A --> D[限速控制]
                    B --> E[按服务类型]
                    B --> F[按优先级]
                    C --> G[平滑突发流量]
                    C --> H[避免拥塞]
                    D --> I[带宽限制]
                    D --> J[速率控制]
            </div>
        </section>

        <!-- Why Traffic Management -->
        <section id="why" class="mb-20">
            <h2 class="text-3xl font-bold mb-6">为什么需要对网络流量进行管理</h2>
            <div class="rounded-xl overflow-hidden mb-8">
                <img src="https://cdn.nlark.com/yuque/0/2024/png/21449790/1728540024412-a34cbfca-6947-42d7-8241-2b5cbe8f7d9a.png" alt="网络流量管理" class="w-full h-auto">
            </div>
            <p class="text-lg mb-6">对网络流量进行管理的需求源于现代分布式系统的复杂性以及不同服务和应用在网络环境中的竞争资源问题。网络流量管理并不仅仅是为了优化性能，还涉及系统的稳定性、安全性和可扩展性。</p>
            
            <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
                <div class="card bg-white p-6 rounded-xl shadow-md">
                    <div class="feature-icon"><i class="fas fa-tachometer-alt"></i></div>
                    <h3 class="text-xl font-semibold mb-3">带宽资源有限性</h3>
                    <p>网络带宽是有限的资源，特别是在共享网络环境中。多个应用和服务同时运行时，如果不对流量进行管理，某些高流量的任务会占用过多带宽，导致其他关键任务因资源不足而出现延迟或中断。</p>
                </div>
                <div class="card bg-white p-6 rounded-xl shadow-md">
                    <div class="feature-icon"><i class="fas fa-server"></i></div>
                    <h3 class="text-xl font-semibold mb-3">高并发和负载压力</h3>
                    <p>在高并发场景下，大量的请求会对系统的网络资源造成巨大压力。如果没有有效的流量控制，系统将很快因网络拥堵而无法响应请求。</p>
                </div>
                <div class="card bg-white p-6 rounded-xl shadow-md">
                    <div class="feature-icon"><i class="fas fa-traffic-light"></i></div>
                    <h3 class="text-xl font-semibold mb-3">防止网络拥堵</h3>
                    <p>网络拥堵是由过多的数据包在短时间内通过同一网络路径引起的。通过实施流量管理策略可以平滑数据流，避免拥堵。</p>
                </div>
                <div class="card bg-white p-6 rounded-xl shadow-md">
                    <div class="feature-icon"><i class="fas fa-shield-alt"></i></div>
                    <h3 class="text-xl font-semibold mb-3">服务质量保障</h3>
                    <p>不同类型的流量对服务质量有不同的要求。通过流量管理，系统可以为不同的应用设置不同的服务质量级别，确保重要应用获得优先处理。</p>
                </div>
            </div>
        </section>

        <!-- Basic Concepts -->
        <section id="concepts" class="mb-20">
            <h2 class="text-3xl font-bold mb-6">基本概念</h2>
            <div class="rounded-xl overflow-hidden mb-8">
                <img src="https://cdn.nlark.com/yuque/0/2024/png/21449790/1728540062492-5cd038df-bd5f-4d17-beb7-0964b606ade2.png" alt="网络流量管理概念" class="w-full h-auto">
            </div>
            <p class="text-lg mb-6">网络流量管理在本质上涉及流量的分类、整形（shaping）、限速（rate limiting）、队列调度（queueing discipline, Qdisc）等多个方面。这些概念为我们在实践中制定网络控制策略提供了理论基础。</p>
            
            <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">1. 队列学科（Queueing Discipline, Qdisc）</h3>
                    <p>队列学科（Qdisc）是网络数据包在Linux系统中如何排队和处理的核心机制。每个网络接口都会关联一个或多个Qdisc，决定数据包的处理顺序和发送方式。</p>
                    <div class="mt-4">
                        <span class="inline-block bg-blue-100 text-blue-800 text-sm px-3 py-1 rounded-full mr-2">简单Qdisc</span>
                        <span class="inline-block bg-blue-100 text-blue-800 text-sm px-3 py-1 rounded-full">复杂Qdisc</span>
                    </div>
                </div>
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">2. 流量整形（Traffic Shaping）</h3>
                    <p>流量整形是指通过延迟某些数据包的发送，来控制数据的发送速率。其主要目的是平滑突发流量，避免瞬间大量数据包的涌入导致网络拥堵。</p>
                </div>
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">3. 流量控制（Traffic Policing）</h3>
                    <p>流量控制通过丢弃或限制超过指定速率的数据包来实现。与流量整形不同，流量控制通常不缓存数据包，而是在数据超速时直接丢弃多余的数据包。</p>
                </div>
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">4. 令牌桶算法（Token Bucket Algorithm）</h3>
                    <p>令牌桶算法是实现流量整形和限速的常见算法。在该算法中，令牌以固定速率加入桶中，每个令牌允许发送一个数据包。</p>
                </div>
            </div>
        </section>

        <!-- TC Tool -->
        <section id="tc" class="mb-20">
            <h2 class="text-3xl font-bold mb-6">TC工具介绍</h2>
            <p class="text-lg mb-6"><code class="bg-gray-100 px-2 py-1 rounded">tc</code>（Traffic Control）工具是Linux系统中用于管理和控制网络流量的核心工具之一。它属于<code class="bg-gray-100 px-2 py-1 rounded">iproute2</code>套件，通过控制出站和入站的流量，帮助系统管理员优化带宽使用、减少网络拥塞、保障关键流量的优先级。</p>
            
            <div class="highlight mb-8">
                <h3 class="text-xl font-semibold mb-3">TC工具的核心功能</h3>
                <ul class="list-disc pl-6 space-y-2">
                    <li><strong>流量整形</strong>：通过延迟数据包发送来平滑网络流量</li>
                    <li><strong>流量控制</strong>：设置带宽限制或流量速率上限</li>
                    <li><strong>优先级调度</strong>：确保高优先级数据包优先发送</li>
                    <li><strong>流量过滤</strong>：基于IP、端口等条件对流量分类</li>
                </ul>
            </div>
            
            <div class="mermaid my-8">
                flowchart LR
                    TC[TC工具] --> Q[队列学科 Qdisc]
                    TC --> C[分类器 Classifier]
                    TC --> F[过滤器 Filter]
                    Q --> HTB[HTB]
                    Q --> TBF[TBF]
                    Q --> SFQ[SFQ]
                    C --> U32[u32 过滤器]
                    C --> FW[防火墙标记]
                    F --> IP[基于IP]
                    F --> PORT[基于端口]
            </div>
            
            <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
                <div class="bg-gray-50 p-6 rounded-xl">
                    <h3 class="text-xl font-semibold mb-4">典型TC命令结构</h3>
                    <div class="bg-gray-800 text-gray-100 p-4 rounded-lg overflow-x-auto">
                        <pre><code class="language-bash">tc qdisc add dev eth0 root handle 1: htb default 12
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 50mbit ceil 100mbit
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 80 0xffff flowid 1:12</code></pre>
                    </div>
                </div>
                <div class="bg-gray-50 p-6 rounded-xl">
                    <h3 class="text-xl font-semibold mb-4">TC组件交互关系</h3>
                    <ul class="space-y-3">
                        <li class="flex items-start">
                            <span class="bg-blue-100 text-blue-800 rounded-full w-6 h-6 flex items-center justify-center mr-3 flex-shrink-0">1</span>
                            <span>Qdisc定义数据包的排队和调度方式</span>
                        </li>
                        <li class="flex items-start">
                            <span class="bg-blue-100 text-blue-800 rounded-full w-6 h-6 flex items-center justify-center mr-3 flex-shrink-0">2</span>
                            <span>分类器决定数据包属于哪个Qdisc类</span>
                        </li>
                        <li class="flex items-start">
                            <span class="bg-blue-100 text-blue-800 rounded-full w-6 h-6 flex items-center justify-center mr-3 flex-shrink-0">3</span>
                            <span>过滤器基于规则将流量映射到特定类</span>
                        </li>
                    </ul>
                </div>
            </div>
        </section>

        <!-- Qdisc Types -->
        <section id="qdisc" class="mb-20">
            <h2 class="text-3xl font-bold mb-6">常见Qdisc类型</h2>
            <p class="text-lg mb-6">在Linux系统中，Qdisc（Queueing Discipline）是网络流量控制的核心机制，决定了数据包在发送之前如何排队、调度和传输。不同的Qdisc类型适用于不同的流量控制需求。</p>
            
            <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">pfifo_fast</h3>
                    <p>默认的Qdisc，属于简单的先进先出队列，按数据包进入的顺序处理和发送。它将网络流量分成三个优先级队列。</p>
                    <div class="mt-4">
                        <span class="inline-block bg-gray-100 text-gray-800 text-sm px-3 py-1 rounded-full mr-2">默认队列</span>
                        <span class="inline-block bg-gray-100 text-gray-800 text-sm px-3 py-1 rounded-full">简单Qdisc</span>
                    </div>
                </div>
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">Token Bucket Filter (TBF)</h3>
                    <p>基于令牌桶算法的Qdisc，主要用于对网络流量进行速率限制。它通过控制令牌的生成速率来限制数据包的传输速率。</p>
                    <div class="mt-4">
                        <span class="inline-block bg-blue-100 text-blue-800 text-sm px-3 py-1 rounded-full mr-2">速率限制</span>
                        <span class="inline-block bg-blue-100 text-blue-800 text-sm px-3 py-1 rounded-full">令牌桶算法</span>
                    </div>
                </div>
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">Hierarchical Token Bucket (HTB)</h3>
                    <p>支持层次化带宽分配的Qdisc，适合复杂的网络流量管理场景。它允许将带宽划分为不同的等级或层次。</p>
                    <div class="mt-4">
                        <span class="inline-block bg-green-100 text-green-800 text-sm px-3 py-1 rounded-full mr-2">层次化</span>
                        <span class="inline-block bg-green-100 text-green-800 text-sm px-3 py-1 rounded-full">高级Qdisc</span>
                    </div>
                </div>
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">Stochastic Fair Queueing (SFQ)</h3>
                    <p>用于确保不同连接获得公平带宽分配的Qdisc。它通过将流量散列到多个队列中，以避免某些连接独占带宽。</p>
                    <div class="mt-4">
                        <span class="inline-block bg-purple-100 text-purple-800 text-sm px-3 py-1 rounded-full mr-2">公平队列</span>
                        <span class="inline-block bg-purple-100 text-purple-800 text-sm px-3 py-1 rounded-full">负载均衡</span>
                    </div>
                </div>
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">Controlled Delay (CoDel)</h3>
                    <p>为减少网络延迟而设计的Qdisc，主要用于应对Bufferbloat问题。通过动态调整队列长度来控制延迟。</p>
                    <div class="mt-4">
                        <span class="inline-block bg-red-100 text-red-800 text-sm px-3 py-1 rounded-full mr-2">延迟敏感</span>
                        <span class="inline-block bg-red-100 text-red-800 text-sm px-3 py-1 rounded-full">自动调整</span>
                    </div>
                </div>
                <div class="card qdisc-card bg-white p-6 rounded-xl shadow-md">
                    <h3 class="text-xl font-semibold mb-3">Priority Queue (PRIO)</h3>
                    <p>根据流量优先级进行调度的Qdisc。不同优先级的流量分别进入不同的队列，确保高优先级的数据包可以优先发送。</p>
                    <div class="mt-4">
                        <span class="inline-block bg-yellow-100 text-yellow-800 text-sm px-3 py-1 rounded-full mr-2">优先级</span>
                        <span class="inline-block bg-yellow-100 text-yellow-800 text-sm px-3 py-1 rounded-full">简单调度</span>
                    </div>
                </div>
            </div>
        </section>

        <!-- Traffic Shaping -->
        <section id="shaping" class="mb-20">
            <h2 class="text-3xl font-bold mb-6">流量整形的实现</h2>
            <p class="text-lg mb-6">流量整形（Traffic Shaping）是一种网络流量管理技术，旨在控制和优化数据流量的传输速率和模式，以提高网络性能并确保带宽资源的合理利用。通过调节数据包的发送速率，流量整形可以有效避免网络拥塞、平滑突发流量、并为关键服务保留足够的带宽。</p>
            
            <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
                <div>
                    <h3 class="text-2xl font-semibold mb-4">流量整形核心目标</h3>
                    <ul class="list-disc pl-6 space-y-2">
                        <li><strong>避免网络拥塞</strong>：通过限制突发流量或高带宽需求的应用，减少带宽消耗的波动</li>
                        <li><strong>带宽优化</strong>：在共享带宽的环境下，确保带宽资源不被个别流量过度占用</li>
                        <li><strong>QoS保障</strong>：为不同优先级的应用或服务保留必要的带宽</li>
                        <li><strong>突发流量的平滑</strong>：通过整形使得流量以较为平滑的方式传输</li>
                    </ul>
                    
                    <h3 class="text-2xl font-semibold mt-8 mb-4">实现机制</h3>
                    <div class="bg-blue-50 p-4 rounded-lg">
                        <h4 class="font-semibold mb-2">1. 数据包缓冲与队列管理</h4>
                        <p>当数据流量超过设定的速率上限时，多余的数据包会被暂时存储在缓冲队列中。常用机制：</p>
                        <div class="flex mt-2 space-x-4">
                            <div>
                                <p class="font-medium">令牌桶算法</p>
                                <p class="text-sm text-gray-600">通过预先设置令牌的生成速率控制数据包发送</p>
                            </div>
                            <div>
                                <p class="font-medium">漏桶算法</p>
                                <p class="text-sm text-gray-600">数据以恒定的速率泄漏（发送）</p>
                            </div>
                        </div>
                    </div>
                </div>
                
                <div>
                    <h3 class="text-2xl font-semibold mb-4">TC实现示例</h3>
                    <div class="bg-gray-800 text-gray-100 p-4 rounded-lg mb-4 overflow-x-auto">
                        <pre><code class="language-bash"># 设置TBF队列限制速率为1Mbit/s
tc qdisc add dev eth0 root tbf rate 1mbit \
  burst 5kb latency 70ms peakrate 1.5mbit \
  minburst 1540</code></pre>
                    </div>
                    
                    <div class="bg-white p-4 rounded-lg shadow border border-gray-200">
                        <h4 class="font-semibold mb-2">参数说明</h4>
                        <ul class="space-y-2">
                            <li class="flex"><span class="w-24 font-medium">rate</span><span>目标速率 (1mbit)</span></li>
                            <li class="flex"><span class="w-24 font-medium">burst</span><span>允许的突发大小 (5kb)</span></li>
                            <li class="flex"><span class="w-24 font-medium">latency</span><span>最大延迟 (70ms)</span></li>
                            <li class="flex"><span class="w-24 font-medium">peakrate</span><span>最大突发速率 (1.5mbit)</span></li>
                        </ul>
                    </div>
                </div>
            </div>
        </section>

        <!-- Traffic Control Strategies -->
        <section id="strategies" class="mb-20">
            <h2 class="text-3xl font-bold mb-6">流量控制策略</h2>
            <p class="text-lg mb-6">流量控制策略（Traffic Control Strategy）是网络管理中的一项关键技术，旨在通过对数据流量的管理和调度，优化网络资源的利用率，并确保不同类型的流量能够有序传输。</p>
            
            <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                <div class="card bg-white p-6 rounded-xl shadow-md">
                    <div class="flex items-start">
                        <div class="bg-blue-100 text-blue-800 rounded-lg p-3 mr-4">
                            <i class="fas fa-exclamation-triangle text-xl"></i>
                        </div>
                        <div>
                            <h3 class="text-xl font-semibold mb-2">拥塞避免（Congestion Avoidance）</h3>
                            <p>通过主动管理和调整流量，防止网络中出现资源过度占用和数据拥堵现象。</p>
                        </div>
                    </div>
                </div>
                <div class="card bg-white p-6 rounded-xl shadow-md">
                    <div class="flex items-start">
                        <div class="bg-purple-100 text-purple-800 rounded-lg p-3 mr-4">
                            <i class="fas fa-sort-amount-up text-xl"></i>
                        </div>
                        <div>
                            <h3 class="text-xl font-semibold mb-2">流量优先级（Traffic Prioritization）</h3>
                            <p>根据流量的性质调整其优先级，确保实时流量获得更高的优先级。</p>
                        </div>
                    </div>
                </div>
                <div class="card bg-white p-6 rounded-xl shadow-md">
                    <div class="flex items-start">
                        <div class="bg-green-100 text-green-800 rounded-lg p-3 mr-4">
                            <i class="fas fa-tachometer-alt text-xl"></i>
                        </div>
                        <div>
                            <h3 class="text-xl font-semibold mb-2">速率限制与平滑流量</h3>
                            <p>通过设定最大传输速率，严格限制数据包的传输频率，从而防止带宽的过度占用。</p>
                        </div>
                    </div>
                </div>
                <div class="card bg-white p-6 rounded-xl shadow-md">
                    <div class="flex items-start">
                        <div class="bg-yellow-100 text-yellow-800 rounded-lg p-3 mr-4">
                            <i class="fas fa-list-ol text-xl"></i>
                        </div>
                        <div>
                            <h3 class="text-xl font-semibold mb-2">队列管理与流量调度</h3>
                            <p>通过合理的队列调度机制来确保不同流量的公平性和服务质量。</p>
                        </div>
                    </div>
                </div>
            </div>
            
            <div class="mt-10">
                <h3 class="text-2xl font-semibold mb-4">QoS策略实现</h3>
                <div class="mermaid">
                    graph TD
                        A[流量分类] --> B[打标记]
                        B --> C[优先级队列]
                        C --> D[带宽分配]
                        D --> E[速率限制]
                        E --> F[流量整形]
                        
                        style A fill:#f0f9ff,stroke:#0284c7
                        style B fill:#f0fdf4,stroke:#10b981
                        style C fill:#f5f3ff,stroke:#8b5cf6
                        style D fill:#fef2f2,stroke:#ef4444
                        style E fill:#fffbeb,stroke:#f59e0b
                        style F fill:#ecfdf5,stroke:#10b981
                </div>
            </div>
        </section>
    </main>

    <!-- Footer -->
    <footer class="footer py-10">
        <div class="container mx-auto max-w-5xl px-4 md:px-0">
            <div class="flex flex-col md:flex-row justify-between items-center">
                <div class="mb-4 md:mb-0">
                    <h3 class="text-xl font-semibold mb-2">技术小馆</h3>
                    <p class="text-gray-300">分享前沿技术，探索无限可能</p>
                </div>
                <div>
                    <a href="http://www.yuque.com/jtostring" class="text-blue-300 hover:text-white transition">语雀主页: www.yuque.com/jtostring</a>
                </div>
            </div>
        </div>
    </footer>

    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'default',
            flowchart: {
                useMaxWidth: true,
                htmlLabels: true,
                curve: 'basis'
            }
        });
    </script>
</body>
</html>